from org.kwisatz.proxybot import *
import codecs
class Filter(FilterAdapter):
    def handleServerLine(self, line, msg):

        if ( self.context.serverHost.endswith('epiknet.org') and 
            msg.command=="PRIVMSG" and msg.cmdParam=="#informatique") :

            if ( not _is_charset("ascii", msg.endOfMsg) and
                _is_charset("utf-8", msg.endOfMsg) ):

                msg="PRIVMSG "+msg.nick+ \
                    " :[message automatique] Charset ISO-8859-15 obligatoire sur le salon #informatique"
                self.context.server.println(msg)
                print msg
        return line

    def getID(self):
        return 'epikcharset'

def _is_charset(cs, msg):
    try:
        codecs.getdecoder(cs)(msg)
        return True
    except UnicodeError:
        return False
